home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / tool / ein / fvi / fvimsg / gur / msgmain.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-09-22  |  2.7 KB  |  125 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <winb.h>
  5. #include <te.h>
  6. #include <fntb.h>
  7. #include <gui.h>
  8. #include <egb.h>
  9. #include <guidbg.h>
  10.  
  11. char    *guiEgbPtr ;            /*    EGB のワークアドレス    */
  12.  
  13. int userFunc(apliId, messId, info, data)
  14. int    apliId;
  15. int    messId;
  16. int    info;
  17. int    data;
  18. {
  19.     register int    ret;
  20.  
  21.     ret = ILLEGAL_FUNCTION;
  22.  
  23.     switch(messId)
  24.     {
  25.         case    GM_QUIT :
  26.             MMI_SetHaltFlag(TRUE);
  27.             ret = NOERR ;
  28.             break;
  29.     }
  30.  
  31.     return(ret);
  32. }
  33.  
  34. void main()
  35. {
  36.     static MMICTRL mmi ={
  37.                 SCREEN16,        /* ページ0側解像度        */
  38.                 SCREEN16,        /* ページ1側解像度        */
  39.                 0,                 /* 書き込みページ        */
  40.                 3,                 /* 表示ページ            */
  41.                 0,                 /* 表示プライオリティ    */
  42.                 SCREENAVAILABLE,/* 色数                    */
  43.                 SCREENEXPAND,     /* VRAMの横の長さ        */
  44.                 0,                 /* メモリ領域の大きさ    */
  45.                 NULL,             /* メモリ領域のアドレス    */
  46.                 0,                 /* ユーザ領域の大きさ    */
  47.                 NULL,             /* ユーザ領域のアドレス    */
  48.                 0, 0,             /* 画面枠    lupx,lupy    */
  49.                 0, 0,            /*            rdwx,rdwy    */
  50.                 -16384, -16384,    /* 移動枠    lupx,lupy    */
  51.                 16383, 16383,    /*            rdwx,rdwy    */
  52.                 15,             /* 白色                    */
  53.                 0,              /* 黒色                    */
  54.                 7,              /* 灰色                    */
  55.                 15                 /* 反転色                */
  56.     };
  57.  
  58.     extern int APL_init() ;
  59.  
  60.     /*    初期化処理    */
  61.     if (MMI_Open( &mmi ) == NOERR)
  62.     {
  63.         /*    初期化に成功すればメインループに入る.    */
  64.         if (APL_init() == NOERR)
  65.             MMI_ExecSystem() ;
  66.     }
  67.  
  68.     /*    終了処理    */
  69.     MMI_Close() ;
  70.  
  71. }
  72.  
  73. int APL_init()
  74. {
  75.     extern MMIINIT    initDataMSGSET ;
  76.  
  77.     register int    ret ;
  78.  
  79.     /*    EGB ワークアドレスの取得.    */
  80.     guiEgbPtr = MMI_GetEgbPtr() ;
  81.  
  82.     /*    ハイパ型部品の初期化            */
  83.     if ((ret = MMI_initHyper()) < 0)
  84.         return ret ;
  85.     /*    ダイアログ型部品の初期化        */
  86.     if ((ret = MMI_initDialogL40()) < 0)
  87.         return ret ;
  88.     /*    ウインドウ型部品の初期化        */
  89.     if ((ret = MMI_initWindowL40()) < 0)
  90.         return ret ;
  91.     /*    メッセージ型部品の初期化        */
  92.     if ((ret = MMI_initMessageL40()) < 0)
  93.         return ret ;
  94.     /*    ボタン型部品の初期化            */
  95.     if ((ret = MMI_initButtonL40()) < 0)
  96.         return ret ;
  97.     /*    ドロウボタン型部品の初期化        */
  98.     if ((ret = MMI_initDrawButtonL40()) < 0)
  99.         return ret ;
  100.     /*    アイコンボタン型部品の初期化    */
  101.     if ((ret = MMI_initIconL40()) < 0)
  102.         return ret ;
  103.     /*    トグルアイコン型部品の初期化    */
  104.     if ((ret = MMI_initToggleIconL40()) < 0)
  105.         return ret ;
  106.     /*    テキスト型部品の初期化            */
  107.     if ((ret = MMI_initTextL40()) < 0)
  108.         return ret ;
  109.  
  110.     /*    背景データの初期化                        */
  111.  
  112.     /*    データの登録        */
  113.     if ((ret = MMI_Init(&initDataMSGSET)) < 0)
  114.         return ret ;
  115.  
  116.     /*    背景を表示する                            */
  117.     MMI_SendMessage(MMI_GetBaseObj(), MM_SHOW, 0) ;
  118.  
  119.     MMI_SendMessage(MMI_GetBaseObj(), MM_SETEXEC, 1, userFunc);
  120.     MMI_CallMessage(MMI_GetApliId(), GM_TITLE, (int)"タイトル", 0);
  121.  
  122.     return NOERR ;
  123. }
  124.  
  125.